﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MegaBitProject.Models;

namespace MegaBitProject.Tests.MockObjects
{
    class MockDb : IGameRepository
    {

        public List<Complaints> Ban { get; set; }
        public List<Game> Games { get; set; }
        public List<Application> Applications { get; set; }
        public List<PlayedGame> PlayedGames { get; set; }
        public List<Score> Scores { get; set; }
        public List<Statistic> Stats { get; set; }
        public List<Pictionary> Pictionaries { get; set; }
        public List<UserProfile> UserProfiles { get; set; }
        public List<WordList> Words { get; set; }


        public IEnumerable<Application> getGames
        {
            get
            {
                return Applications;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<Game> getOpenGames
        {
            get
            {
                return Games;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<PlayedGame> getPlayedGames
        {
            get
            {
                return PlayedGames;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<Score> getScore
        {
            get
            {
                return Scores;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<UserProfile> getUser
        {
            get
            {
                return UserProfiles;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<Statistic> getStats
        {
            get
            {
                return Stats;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<WordList> getWord
        {
            get
            {
                return Words;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<Pictionary> getPictionary
        {
            get
            {
                return Pictionaries;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public IEnumerable<Complaints> getBans
        {
            get
            {
                return Ban;
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public void newGame(Game g)
        {
            throw new NotImplementedException();
        }

        public void newPictionary(Pictionary p)
        {
            throw new NotImplementedException();
        }

        public void updatePictionary(int gameid, string newWord, string userName)
        {
            throw new NotImplementedException();
        }

        public void joinGame(PlayedGame g)
        {
            throw new NotImplementedException();
        }

        public void updateScore(string id, int change)
        {
            throw new NotImplementedException();
        }

        public void updateStats(Statistic s)
        {
            throw new NotImplementedException();
        }

        public void addBanList(Complaints c)
        {
            throw new NotImplementedException();
        }
    }
}
